{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-25T02:10:31.674699Z",
     "start_time": "2019-03-25T02:10:26.843699Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda3\\lib\\site-packages\\sklearn\\ensemble\\weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release.\n",
      "  from numpy.core.umath_tests import inner1d\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import os\n",
    "from sklearn import linear_model\n",
    "os.chdir(\"E:\\\\Titanic\\\\titanic\")\n",
    "from sklearn import ensemble\n",
    "from matplotlib.font_manager import FontProperties\n",
    "font=FontProperties(fname=r\"C:\\\\Windows\\\\Fonts\\\\msyh.ttf\",size=12)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 初步探索数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Name           891 non-null object\n",
      "Sex            891 non-null object\n",
      "Age            714 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Ticket         891 non-null object\n",
      "Fare           891 non-null float64\n",
      "Cabin          204 non-null object\n",
      "Embarked       889 non-null object\n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.6+ KB\n"
     ]
    }
   ],
   "source": [
    "data=pd.read_csv('train.csv',header=0)\n",
    "data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Moran, Mr. James</td>\n",
       "      <td>male</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>330877</td>\n",
       "      <td>8.4583</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "5            6         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "5                                   Moran, Mr. James    male   NaN      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  \n",
       "0      0         A/5 21171   7.2500   NaN        S  \n",
       "1      0          PC 17599  71.2833   C85        C  \n",
       "2      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3      0            113803  53.1000  C123        S  \n",
       "4      0            373450   8.0500   NaN        S  \n",
       "5      0            330877   8.4583   NaN        Q  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head(6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>714.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.383838</td>\n",
       "      <td>2.308642</td>\n",
       "      <td>29.699118</td>\n",
       "      <td>0.523008</td>\n",
       "      <td>0.381594</td>\n",
       "      <td>32.204208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>257.353842</td>\n",
       "      <td>0.486592</td>\n",
       "      <td>0.836071</td>\n",
       "      <td>14.526497</td>\n",
       "      <td>1.102743</td>\n",
       "      <td>0.806057</td>\n",
       "      <td>49.693429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.420000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>223.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>20.125000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>7.910400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>14.454200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>668.500000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>38.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>31.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>512.329200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       PassengerId    Survived      Pclass         Age       SibSp  \\\n",
       "count   891.000000  891.000000  891.000000  714.000000  891.000000   \n",
       "mean    446.000000    0.383838    2.308642   29.699118    0.523008   \n",
       "std     257.353842    0.486592    0.836071   14.526497    1.102743   \n",
       "min       1.000000    0.000000    1.000000    0.420000    0.000000   \n",
       "25%     223.500000    0.000000    2.000000   20.125000    0.000000   \n",
       "50%     446.000000    0.000000    3.000000   28.000000    0.000000   \n",
       "75%     668.500000    1.000000    3.000000   38.000000    1.000000   \n",
       "max     891.000000    1.000000    3.000000   80.000000    8.000000   \n",
       "\n",
       "            Parch        Fare  \n",
       "count  891.000000  891.000000  \n",
       "mean     0.381594   32.204208  \n",
       "std      0.806057   49.693429  \n",
       "min      0.000000    0.000000  \n",
       "25%      0.000000    7.910400  \n",
       "50%      0.000000   14.454200  \n",
       "75%      0.000000   31.000000  \n",
       "max      6.000000  512.329200  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据初步分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 1、乘客各属性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nPMQXX3whhKi4Yr9bt27i0qVLQoiK6X3Ky8vFiBEjpCuLf//9d9GvXz8RGhoqjh07Jjp06CB27dol\nhBAiMzNTtG/fXuTl5dXhf5Soqvz8fBEUFCT69esnMjMzxcaNG0VERIRQKpWiX79+Ytq0adIsMkII\n0bVrV53t3Lx5U/j6+laJl5aWiqCgILF06VIplpWVJTp06KC1XEhIiBg8eLBYs2aNiIuLE926dRNX\nrlwRZ8+eFR07dhQzZ84Ujo6O4rvvvtNqe86cOWLw4MGivLxcaDQaIYQQRUVFQqFQiKSkpCr5rF27\nVoSHh0uPXVxcxLZt24Srq6to1aqV+Oc//1mzF46alLi4OGnmBJVKJfbt2ycGDx4sJk6cKBYsWCC6\nd+8utm/f/sBZGKqbxWLnzp1i1apVorS0VAghxOHDh8XixYvFiRMnRLt27USnTp1EYmJilfWOHTsm\nBg0aJM0kU/ln2LBhUl9oiGN1Q/Y1HqsfjgWykZWUlIj27duLdu3aiQULFohRo0aJF154QRQWFkrL\nXL58WfTq1UusWbNGHD58WMjlcmFlZSVN6+Lj4yMWLFggrVNYWChef/118dZbbwkhqhbIR44c0cqh\nuLhYuLi4CCGE+Ne//iXOnz8vTp48KVxcXMSaNWuk5YqKioSHh4fo1q2b6Nixo9Y8kJXt2bNHmsrn\nQaZNmyZ69uwpTeMiRMXcjHK5XJiZmYmWLVuKCRMmSPMp7tq1S7Rv31506tRJfPbZZ6J9+/bSdFb3\nbN26VTg4OIg///xTTJw4UZpvMjs7W6SkpIjOnTtrHfzPnDkjPD09xblz58SCBQu09pfIEDZs2CAc\nHR3FnDlzRFFRkRBCSAWyEBWFQnBwsGjVqpV44403hBBC5/Runp6eok+fPjoL5HsKCwtFaGiosLOz\nEzY2NtK0S7pMmTJFLFy4UERFRQlnZ2dpqrfY2FjRrl07MXfuXHHixAnRvXt38eKLL4rc3FwhhBD9\n+vUTDg4OwsnJqdq5jL/++mut6eJcXFxEUVGRUKvVWvPQUvMxa9YsYWdnJzZt2iQ+/vhj0bFjR/Ha\na6+JU6dOSctcuXJFDB8+XLz//vvVtlNdgXzw4EHh4eEh+vfvL7y9vUWvXr2k6dRSU1OFi4uLePXV\nV6UC+p5jx44JZ2dnnf2tXbt20vGivo/VxuhrPFY/GAtkE3Hvk+KdO3d0Pl9cXFxlPsh77h10q2uz\n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\nDwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xbee01d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "plt.style.use('ggplot')\n",
    "fig=plt.figure(figsize=(10,8)) #调整图形大小\n",
    "plt.subplot2grid((2,3),(0,0))\n",
    "data.Survived.value_counts().plot(kind='bar')# 条形图 \n",
    "plt.title(u\"获救情况 (1为获救)\",fontproperties=font) # 标题\n",
    "plt.ylabel(u\"人数\",fontproperties=font)  \n",
    "\n",
    "plt.subplot2grid((2,3),(0,1))\n",
    "data.Pclass.value_counts().plot(kind=\"bar\")\n",
    "plt.ylabel(u\"人数\",fontproperties=font)\n",
    "plt.title(u\"乘客等级分布\",fontproperties=font)\n",
    "\n",
    "plt.subplot2grid((2,3),(0,2))\n",
    "plt.scatter(data.Survived, data.Age)\n",
    "plt.ylabel(u\"年龄\",fontproperties=font)    # 设定纵坐标名称\n",
    "plt.grid(b=True, which='major', axis='y') \n",
    "plt.title(u\"按年龄看获救分布 (1为获救)\",fontproperties=font)\n",
    "\n",
    "plt.subplot2grid((2,3),(1,0),colspan=2)\n",
    "data.Age[data.Pclass == 1].plot(kind='kde')   \n",
    "data.Age[data.Pclass == 2].plot(kind='kde')\n",
    "data.Age[data.Pclass == 3].plot(kind='kde')\n",
    "plt.xlabel(u\"年龄\",fontproperties=font)# plots an axis lable\n",
    "plt.ylabel(u\"密度\",fontproperties=font) \n",
    "plt.title(u\"各等级的乘客年龄分布\",fontproperties=font)\n",
    "plt.legend((u'头等舱',u'2等舱',u'3等舱'),loc='best',prop=font) # legend参数\n",
    "\n",
    "plt.subplot2grid((2,3),(1,2))\n",
    "data.Embarked.value_counts().plot(kind='bar')\n",
    "plt.title(u\"各登船口岸上船人数\",fontproperties=font)\n",
    "plt.ylabel(u\"人数\",fontproperties=font) \n",
    "plt.tight_layout() #防止图形之间重叠\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2、属性与获救结果的关联统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xcc07f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nhhQWIiJi6P8BBVB2IDI0RIYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc846c18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "Survived_0=data.Pclass[data.Survived==0].value_counts()\n",
    "Survived_1=data.Pclass[data.Survived==1].value_counts()\n",
    "df=pd.DataFrame({'获救':Survived_1,'未获救':Survived_0})\n",
    "df.plot(kind='bar',stacked=True)\n",
    "plt.title('各乘客等级的获救情况',fontproperties=font)\n",
    "plt.xlabel('乘客等级',fontproperties=font)\n",
    "plt.ylabel('人数',fontproperties=font)\n",
    "plt.legend(('未获救','获救'),loc='best',prop=font)\n",
    "\n",
    "Survived_m=data.Survived[data.Sex=='male'].value_counts()\n",
    "Survived_f=data.Survived[data.Sex=='female'].value_counts()\n",
    "dff=pd.DataFrame({'男性':Survived_m,'女性':Survived_f})\n",
    "dff.plot(kind='bar',stacked=True)\n",
    "plt.title('性别与获救情况',fontproperties=font)\n",
    "plt.xlabel('性别',fontproperties=font)\n",
    "plt.ylabel('人数',fontproperties=font)\n",
    "plt.legend(('未获救','获救'),loc='best',prop=font)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 不同舱级下不同性别的获救情况汇总"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh4AAAJsCAYAAACyKaqAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3X98zfX///H72U+bMfshNT9jvOV3\nmrA0yiJvleVSRFQiiff8LP2OjCLNpB+8q5kKvYn8SOnHLMRS88YbSX6ET9jMdmY2+4Gd8/3Dxfl2\nGu2HeXLsdr1cXC57vc7r9TqP1+vhbPfzfL3O61jsdrtdAAAABrhd6QIAAEDlQfAAAADGEDwAAIAx\nBA8AAGAMwQMAABhD8ACuEmfPnr3SJVySoqKiK10CABdA8ABK6cSJEwoLCyvVsjt37lRUVFSZtj91\n6lTFx8c7zXvhhRfUoEGDYqHk7NmzatmypXbt2uU0v127dtqyZcsFtz9z5kzt3bu3VLW///77Gjly\npLp27arQ0FDt37//b9fZt2+funbt6pjOz8+XJE2cOFEzZ84s8TkvpGnTpjp48KBjevz48Vq6dKlj\nuqioSO3atVNGRsZFtzFx4kS98847jul58+bp6aefvuCymzZt0kMPPaTnn39e3377rSRp1qxZmjdv\nXrFlf/zxR7388svF5nfo0EGHDx8uadeASs3jShcAuCpfX181adLEaV5ubq727dvnNG/AgAFKSUmR\nj4+P0/yjR49q7ty5uueee/TII49o1apVuuGGG/Tzzz/r3//+t3777Td9+eWXGjBggF5//XWnP3Sz\nZ89WXl6eHn/8cce87t276+jRoxo+fLhj3p133qnXXntNu3fv1ty5c/XUU09p7Nixmjt3rgICAlS1\nalVJ0t69e5WSkqJWrVrpwIEDslqt2rVrlx566CENHjxYbm5uatSokSwWi2Pbp06d0pIlS3TbbbcV\nOzb33nvvBf8wn+fh4aHQ0FDH9LFjx/TBBx/o1ltv1c8//6wHHnjAafkzZ85owYIFTqFh3bp1Kioq\nkp+fnwoKCiRJnp6eGjFihDZs2CBJSk9Pl4eHh+bMmSPpXHgsKCjQ119/LelcUIuPj5fNZlNRUZHs\ndruio6O1bNkydevWTUuXLtWsWbOK1V9YWKisrCzl5uYqMjLSMf+XX37RfffdJy8vL0lSz5491aJF\nC1ksFkVFRengwYO66aabVL9+/WL7FxAQoM2bN1/0mAHXCoIHUApffvmlfv/9d2VkZOjDDz9Ux44d\nFRISom3btjktFxoaqs8++0zffPONdu3apeeee06StGDBgmKjJX/+I7pr1y6tXLlSrVu31r333qus\nrCw9/PDDeuedd3TrrbeqU6dOuvHGGzVgwACtWbNGX3zxhbZs2aL+/ftr6dKlcnNzU+vWrfXjjz9q\n5MiRio+PV1BQkCTJbrdr5MiRev/99/X5559rwIABSktL09ChQ9WlSxf9+uuvevDBB9W8eXNJ50LD\nvffeq8OHD6tmzZpyczs3MJqZmakTJ044ao6KitKZM2cc03/88YeWLl2qbt266ccff9Qtt9yi77//\n/oLHs0aNGtq9e7djetiwYZKk33//XfPmzXMKHsuXL9eAAQMUHBysW2+9VWlpadq0aZMWLFigrKws\ntWnTRtK58PLmm29qzpw5ys/Pl4+Pjz744AMFBAQ4trdq1Srt379fo0aNcmw/JiZGixYtUn5+vjIz\nM9WtWzdJUufOnbVx40b17dvXsWzPnj01fvx4ZWdnKykpSd98843Gjx+v//u//5N0blSpV69e8vf3\nlyT16tVLp0+f1p133ik3Nze1atVKrVu31qZNm5yOx8GDB4uFLeBaRfAASqF27drav3+/vL29FRoa\nKn9/fx09etTxR+/P2rVrJ5vNpn379umBBx7QzJkz9fDDD8vHx0eFhYXavXu3WrduraNHj6pLly6O\n9VavXq2MjAxlZ2crMjJSAwcO1O233y5J+uKLL9S1a1ft379fgYGBWrhwofz9/dW9e3f98ssv+v77\n7zV+/HjVq1dPDz/8sDZv3qzu3btLkmJjY+Xj46M//vhDEydO1E8//SSbzaZjx45Jkl555RW9+uqr\ncnd3lyT17dtXv/32m44cOaIvv/xSEydOdASDC1m5cqVSUlLk6+urF198UQcOHJCPj486dOig9PR0\nubu768MPP5QkPfnkk4qOjlZBQYFjFEI6F7z+PHLwVw888IDjlEeXLl10+PBhfffdd9q7d6+8vb0l\nSU888YS8vb2Vn5+vzp07a+HChdq0aZPuuusux3Y2bNigyMhIPfroo3rkkUfUtWtXPfXUU+rdu7dy\ncnI0c+ZMLVy4UNu2bVNSUpKefvppTZ06VT/99JOmTp2q2NhYTZ48WQUFBQoPD9dXX32loUOHytfX\nV5Lk4+OjRo0aKTg4WJLk5+enmjVrauXKlXrmmWf0wQcfXHQfgcqC4AGUQps2bbR06VLl5eWpsLBQ\nderUueiIR4MGDZSbm6saNWo4RjnOj3ikpaXpoYce0tq1a/XDDz+oTp06jnUHDhyoAwcOyMPDQ/fd\nd59WrVqlVatWOR5//PHHFR4ero4dO+qOO+5QTk6OJOnjjz/WkSNHVKVKFb377ruO5SdNmqSNGzfq\npptukpeXl0aMGKFPP/1UNWrUUH5+vj777DP17dtXaWlpmjBhgh588EHZbDYtWrRIeXl5ql27tuLi\n4hzXqpwfvfmrH374QU2bNlVQUJAmTZqkPn36aPny5erUqZMmTpyoGjVqaPTo0U7rWCwWpaamysvL\nS/Xr15enp2eZ+vH1119r5MiRTqd+zp49Ky8vL/n4+Gj69Olq3bq1hg8froceesixzPHjx3X69GnF\nxsYqJiZGEREROn78uPr06eM4dm+++aZ27dql9evXq0ePHpKkHTt2qFGjRpLOjcpEREToxIkTuvvu\nuzVixAjH9u12u+Li4hx11a1bV8uWLdMtt9yipKQkp2tWgMqK4AGU0u7du1WjRg2NGzdOBQUFOnr0\nqFq0aHHBZXNzc/Xbb7/p2Weflc1mc4x4nD17VgcPHnSMlISEhOgf//iHfv31Vw0YMEA2m03Vq1fX\noEGD9NVXX+mzzz6TJC1ZskQnT55Ux44dJanYKYznnntOTZs21WOPPVaslp49e+r111/X4MGDHReA\nZmdnKy0tTUeOHNEPP/ygDRs2OF2T8cknnyg3N1czZsxQ48aNHadhLqSgoEDt2rXTJ598orCwME2Y\nMEGdOnX622O5f/9+vfPOO7ruuus0YMAA3XffffL29taPP/74t+udN2TIEO3evVsPP/ywFi9eLIvF\notOnT8vb21srV67Uiy++qM6dOyswMFDx8fGKi4uTJB05ckRr1qyRn5+fJGny5Ml69dVX9cgjj2j7\n9u06c+aMduzYoUGDBunkyZP66aefJJ27mLRnz56SJC8vL9WrV0+bN2/WPffcoypVqmjnzp3FavTw\n8NC//vUvx3RmZqYk6X//+5/q1aunEydOqGbNmkpNTdUNN9yggICAUu074Or4VAtQCt99950aN24s\nb29vTZ8+XVar1THi4ePjox07dmjnzp0KDAzU8OHDFR0dLV9fX/Xv318nT57U6tWrtW3bNiUmJios\nLEzbtm3Ttm3b9NVXXykuLk433XSTZs+eraSkJMdzent7q06dOqpTp47c3Nwcf5gGDRqkNm3aOP37\n+uuvNXPmTDVr1kwWi8Ux/+GHH9aGDRs0adIkpaWlqUePHtq5c6cOHz6sV199VTExMZLOfXrj/OmU\nwsJCvf322+rVq5ciIiJ07733aseOHRc9Nm+//bbjVIOvr6/Onj2rFi1aqEWLFnrvvfc0bdo0x/TG\njRv1xRdfaOjQofrPf/6j2bNnKyoqSo888shFrweRpGXLlqlp06Zq2rSpfv75Z0nnTgnl5uZq8uTJ\nkuQIHlarVatXr1b37t314YcfavDgwdq5c6d27typRo0a6dFHH3VMv/rqq5Kk6OhoHTt2TKmpqerd\nu7fuvPNOLVmyRFWqVFFSUpK+/PJLx6mrOXPmOK57kaT//Oc/OnnypEJDQ53+nT+2knTo0CG1aNFC\nXl5eevrppxUXF6c+ffrom2++Udu2bbVp0ybH9oFrHSMeQCnMmjVLMTEx+vbbb9WjRw/ZbDZNmTJF\nHh4eioiI0MaNG9WqVSvdcsstuv/++zV8+HC99NJLat26tdLS0rRq1Sp9/PHHOnv2rPbv3+84BTNv\n3jy1aNFChYWFWrVqVbELUHNycuTh4aENGzZowIABkqSEhISL1llQUKDQ0FCnU0CpqalauHChmjZt\nqhtvvFH5+fny9vbWgw8+qLfeekuvvvqqfv/9dz344IOSpGnTpqlTp07y8PBQWFiYunbtqurVq5f6\nWEVHRys6OlqSLniqJTs7WzfddJNGjx6tfv36qX379oqLi9ORI0ccpzP+6v7773e6xkM6d7pm/vz5\neuyxx5Sfn++4oPSxxx7TypUrtWTJElksFh07dky1atXS4cOHlZ+fr5UrV+rll1+Wh8e5X39//PGH\nHnjgAbVr105Vq1bVlClTdPToUY0YMUKjRo1S79699dRTTzk+AXQhn376qb766iuneXl5eY6fZ8+e\nrQcffFAhISGKiYlRTEyM077WrFlTU6ZMKfUxBlwZIx5AKQwbNkwNGjRwTP/5He/48eP16quvqlOn\nTmratKnTBaN5eXny8vKS1WrV008/rW3btiknJ0ebN29WixYtlJubK7vdrsLCQnXr1k1bt251et74\n+HiFhYXJy8tLzZs318qVK/XVV185RjT+8Y9/OI18tG/fXunp6Y7pZcuW6YYbblDbtm31888/a9iw\n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\nbpej/xLXeKAUKvrdiMl3N7h09L9yo/+V2+XoF8GjAhQVFVX49s5/TLkit4nLwxWOrSvU6Kp4/Vdu\nrnBsr7YaCR4lmDhxolatWnXRxw8cOKC+ffs6ps9fJBUbG6sPPvjgoutlZWWpWbNmOnHiRLHHpk2b\nVuI3+y5evFhbt24tqXyH5cuX64033nCaN3/+fDVu3FjZ2dml3k5lY6r/v/76q8aMGSO73a78/HxZ\nrVYdOXJEO3fu1HfffadPPvlEKSkpjvXp/9WB13/lxuu/fK6aE201O79zWbd/fN2/yrxOUVGRlixZ\nokcffbTU6zz22GMl3u9EkpYsWaKuXbtqzpw5WrNmjdNj5y/oWbp0qdP8mjVrauHChbJarZo1a5ZW\nrlypOXPm6L333pOnp6f8/f0lSYcPH9Y777yjbt26SZKmTJmiJUuWyNfXV7t27dK8efNktVr1/vvv\na/z48Zo0aZJiY2NLvY+XQ8jey3vL5KONy357XxP9r1GjhiRpwYIFatmypcaMGaMvv/xS1apVk91u\nl91uV8uWLXX99dc7lr0W+78p5/IOv3eoVvx7pC4mOjpaW7Zska+vryTpxIkTOnPmjGrWrClJysvL\nU9u2bfX2228XW5fXf/kMii/9H9HySBh8c6mXNdn/yvr6v2qCx9Xop59+Uu3atXXjjTf+7XJHjx7V\nl19+qc6dO+u///2vWrVqpeTk5L9d59NPP9Vrr72mDh066LnnnitTXTExMXruuee0fft2NWvWTP36\n9VPDhg3Vt29fnTx5Ut27d1fHjh0dyx88eFCvvfaaIiIi9MADD6iwsFAjR47U6NGjdf/99+vRRx/V\nrFmzNHLkyDLVca0z0X/p3LukL7/8UmvWrNH27dsVHx+viIgIffvtt1qzZo2mTZvmtC79v/ymT5+u\n8PBwSdLChQuVmpqqcePGSZKSk5P16aefOpbl9X/tMdV/qXK+/gkefzFu3Dht2LBBkpSRkSE/Pz+1\nb9/e8fixY8cUFBQkDw8P1ahRQ127dpWPj4+mTZumP/74Q1WqVNG9996rjIwMubu7O/6DDhgwQI8/\n/rgkKSUlRWfPnlWHDh0c242OjtaOHTvk5+dXrKY9e/Zoz549kqQvvvhCe/fuVY8ePfTSSy9p4cKF\n2rBhg+OLgd5++209+uijqlatmtM2/ve//ykrK0tnzpzR4MGD1ahRI/Xu3VuSNHv2bA0cOFCHDh26\n4u98rrQr0f958+apffv2CgwMdKqlatWqOn36tNM8+m/GM888U+wd79dffy3p/7/j/fbbb7Vt2zZe\n/9cgk/2vjK9/gsdfnD/weXl56tChg9asWaPg4GBJcgx7rVu3Tn5+foqJiVHdunUVEBCgp59+WsOG\nDdPcuXN16623KjY2VtWrV9cTTzxR7DkWLlyo/v37F5s/dOhQtWrVqtj8gQMHOn6uVauWoqKiNGnS\nJEVHR6tevXoqKCjQDz/8oBEjRujIkSNas2aNpk6dqg0bNqhOnTqSpLvvvltpaWlyd3dXRESE1q5d\n63RuskOHDrrtttsu7eBdA0z3/9ixY5o5c6aioqKKLVetWjXl5eU5zaP/ZpTmHe9PP/2k0NBQXv/X\nIFP9r6yvf4LHRSxdulTt27d3/NGRpP/+979q0KCB411JYWGhWrduraVLl6p169YaM2aMbr311r/d\nbk5Ojr799lu9/PLLTvOrV6+un3/+WQcPHiy2zp/fBd16661KTU1Vq1atHP9xTp48qezsbG3ZskXv\nv/++Dh06pD59+qh27dqaPXu2kpOTdeDAAXl6eio3N1dDhw7V3Llz9fnnn0uStmzZoqSkJH7x/Imp\n/k+fPl1t2rRxWmbcuHHy8fFRUVGR0tLSFBERIUmqU6eO45cg/b+8/vyO97y/vuPl9X/tMtX/yvr6\nJ3hcxEcffaQJEyY4zYuPj1efPn0c05MnT9aBAwckyfEf5c4775SkYkNt06ZNU7t27fT5558rIiLC\naVjtpptuUoMGDSRJv/32W7Fa/Pz81KpVK8XGxqpJkyYaN26c7r77bg0cOFBPPPGEjh49queee06x\nsbFatGiREhIS1L9/f1ksFj311FPasmWL+vfvr7Zt2+qhhx6SJLm7uysk5NwFlzt37nRcmIRzTPW/\ne/fu8vHx0RdffOHYbmxsrCIiIpSfn68ePXpo7dq1jscOHTpE/y+z8PBwjRo1SqGhoTp16pQiIyP1\n448/Oh7ft2+fUlJS1K9fP17/1yCT/a+sr3+CxwUUFhYqPDxczz33nPr166dHHnlEmzZt0s6dO/XW\nW29ddL3HH3/ccR7vYkNtCxcuLPZux9fXV6tXr9bWrVv1008/OT0WEBCgvn376tlnn5UkBQcHa8aM\nGQoNDVX9+vXl4+Oj8ePHq0ePHlq1apWmTZumr776St99951jGzk5OdqxY4fS09Odtp2Xlyc3Nzcl\nJyerbt26ZT9Q1yiT/b/rrrsueiGaj4+PbDabCgsL5e3tLYn+X27ffPONPvjgA8dHIQsLC3X8+HHH\nH5TzrFar453oebz+XZ/p/lfW1z/38bgAb29vTZo0SV988YXy8/MVERGh4cOHa8qUKU7fL1NW27dv\nV25u7kWHtDZu3Cir1apWrVqpVatWat68uf797387LVO1alV17NhRe/fu1aRJk/Tpp5+qZcuW8vT0\n1Lhx4zRjxgz16dNHVatWdaxz7Ngx3Xffffrll1+ctpWYmKgePXrowIED6tGjhxYtWlTufbuWXKn+\n/9m+ffuUlJSk8PBwbdy4UdK5ERcvLy/6fxl1795dSUlJjn8dO3bU008/7TQvKSlJbm5uxS4GLAmv\n/6vflez/n13rr3+Cx9/Ys2ePfv31V9WsWVODBg1SdHS0YmJilJmZWa7tLViwwDEEdjGrVq3Sa6+9\nptdee03Tpk1zfOFPdna23N3d9e9//1uPPfaY9uzZo6ioKC1YsECDBw9WamqqnnrqKT300EOKj4/X\nJ598IuncR6mqVaumBg0aaNKkSY472BUUFOjee+/V999/r48++kiHDh3SkiVLyrVf16or0f8TJ05o\n2rRpevnll5WWlqYhQ4Zozpw5Kioq0sKFCzV37lz6b8D27ds1aNAgpaena9CgQU53ftyxY4c8PT3L\n/MVZvP5dx5Xqf2V5/V81p1rKc4Ovy2HdunVavXq11qxZo1q1amnQoEGKioqSu7u7hg4dqhkzZuj2\n22/X4MGDHVc5S9KmTZv0wgsvOKb/eo7vuuuu044dO5zO1/3Vbbfdprvuukv/+Mc/HPNiYmIUERGh\nKlWqqE2bNrrzzjv15JNPSjp33rB27dpKT0/XsGHDNGLECD311FPavn27hg4dqu+//17NmzdX//79\nNXfuXM2fP9+x7U6dOql9+/aOC9dOnjypiRMnVtRhLLPy3ODrcriS/ZekkJAQDRkyRC1atNBtt92m\nSZMmafDgwXryyScVFhamJ5988prsf1lu8HU5ffvtt5owYYJq1KihoUOHKioqShaLRZ999pnGjx8v\nb29vubu7KyYmxmk9Xv+Xpiw3+LqcrmT/pcrz+rfY7Xbjr/gjR44UG7I+c+aMsef38PC46HchfPvt\nt/r999/VrVs3NWzY8ILL7N+/X/v371e3bt104MABPfPMM1fk3cLWrVsVGhqq//73vwoODlaLFi0c\n+5aXl6dDhw7pxhtvlJeXl9zc3GS328v1hT95eXnFrvCWzr1Ijh4t+x1H/7o9T0/PSt3/5ORkrVix\notiNgj799FOFhISoc+fOF1yP/pfP3/W/oKBAWVlZuuGGGy74+F+PIa9/+l+ZX//lVWLwOH36tCZM\nmKCzZ8+qqKhIHTp0UJ8+fZSKL13QAAAgAElEQVSenq6ZM2cqNzdXN954o6Kjo+Xh4aEzZ87onXfe\n0e+//65q1app9OjRuu6665y2eTUHD1d3OfatMv3icXX0v2T0v2zov+sw3f/yKvEaD09PT02YMEHT\np0/XG2+8oW3btmnPnj2aP3++evbsqVmzZqlq1apKSkqSJCUlJalq1ap6++231bNnTy1YsKDcxQEA\ngGtLicHDYrGoSpUqks59aVZRUZEsFot++eUXxy1fu3Tp4vjmvM2bN6tLly6Szt0NbefOnboCZ3MA\nAMBVqFQXl9psNj377LNKS0tT9+7dVatWLfn6+jquuA4MDJTVapV07vPNQUFBks7dpMTX11c5OTmq\nXr26Y3sEEddS0f2i/66F/ldu9L9yuxz9KlXwcHNz0/Tp03Xq1Cm9+eabOnLkyEWXvVCRf72gxWKx\nKDs7W9nZ2bLZbGrQoIE8PMx+wMb085lUkftmt9tVpUoVp1uHV4ScnBzl5OTIbrfT/wpG/0tG/0vn\nau7/3tSTFVrT32l8Q/WSF7pKuEL/y1Rh1apV1axZM+3du1d5eXkqKiqSu7u7rFar42YqQUFByszM\nVFBQkIqKipSXl1fsGxf9/f1ls9lUr149xzyTF/twcVHpFRQUyN3d3fHth39W3ouLvLy8VFRU5LQ+\n/a8Y9L9k9L/0rsX+l8fVXt95rtB/qRTB4+TJk3J3d3d8Re+OHTvUq1cvNW/eXJs2bdJtt92mtWvX\nKiwsTJJ0yy23aO3atWrSpIk2bdqk5s2bFxvx8PPzU2FhoQoKChzz8vPzy70TZeXt7a3CwkJjz2dS\nRe6b3W6Xu7u7PD09K2R753l6eqqoqEinTp2SxWKRj48P/a8g9L9k9L90rvb+7z9avhv5lUetqiUv\nczVwhf5LpQgeWVlZevfdd2Wz2WS329WxY0fdcsstqlOnjmbOnKn//Oc/uvHGGx33sr/zzjv1zjvv\nKDo6Wn5+fho9evQFt3v+OpDzyvOxrPIKDg6+YIK7FrjKvp2/YFkq/8fyystVjlF5uMq+0f/Lw1X2\nrSL6v2Bz8S/Uu1wiW7vGd9m4Sv9LDB7169fXG2+8UWx+rVq19Prrrxeb7+XlpbFjx1ZMdQAA4JrC\nd7UAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADA\nGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAA\njCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAA\nwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEA\nAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4A\nAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuAB\nAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwge\nAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiPsq6wbds2\nJSQkyGazqWvXroqKinJ6PCMjQ++++65OnTolm82m/v37q23bthVWMAAAcF1lCh42m03x8fF66aWX\nFBQUpOeff15hYWGqU6eOY5mlS5eqY8eO6tatmw4fPqzXX3+d4AEAACSV8VTLvn37dP3116tWrVry\n8PBQeHi4UlJSnJaxWCzKy8uTJOXl5SkgIKDiqgUAAC6tTCMeVqtVQUFBjumgoCDt3bvXaZkHH3xQ\nkydP1tdff63CwkK9/PLLFVMpAABweSUGj/PXbJw4cUL5+fmO4LF48WKtXr1abm5u2r17t/r166e2\nbdtq48aNCgoK0unTp+Xm5qbp06fr3XfflZub8+BKYmKiEhMTJUlTp069DLsGE4KDg690CbiC6H/l\nRv9RHiUGD3d3dw0cOFANGzbUjh07NG3aNB0+fFiS1LhxY9100026//77Hct/88038vDw0IwZM5SV\nlaWRI0cqOzu72CmXyMhIRUZGVvDuwLSMjIxL3kZISEgFVIIrgf5XbvQf5VHiNR4BAQFq2LChJKlZ\ns2aSpP3798tms+ngwYMKCwtz3qCbm+rUqSNPT0/HqEd6evplKB0AALiaMl3jkZmZqSpVqmjJkiXK\nzc2V3W7XW2+9JYvFol69eqlTp05q2LCh9u/fr2eeeUaS1Lx5c2VlZRXbVmJiolasWKG8vDzFx8cb\nHbLz8PC4ZocIXWXfkpOTlZSUpPz8fCUkJND/CuIq+0b/Lw9X2bcr2f/yuNrrO89V+m+x2+320ixY\nUFCgCRMmqHfv3mrfvr1OnDih6tWrS5IWLVqkrKwsDR8+XB9++KGaNGmiiIgISdLs2bN18803q0OH\nDn+7/aNHj17irpRecHBwhQwRXo1M7ltISEiF9K2itlNa9L9i0P+rT2Xq/6D4rZf83KWVMPhmY891\nKUz3v7xK9XHas2fPKjY2Vrfffrvat28vSapRo4bc3Nzk5uamrl27av/+/ZLOfdIlMzPTsa7ValVg\nYGC5CwQAANeOEoOH3W7XnDlzVLt2bd1zzz2O+X8+ffLzzz+rbt26kqSwsDAlJyfrzJkzSk9PV2pq\nqkJDQy9D6QAAwNWUeI3Hb7/9pvXr16tevXqO6zb69eunjRs36uDBg7JYLKpZs6aGDh0qSapbt646\nduyosWPHys3NTYMHDy72UVoAAFA5lRg8mjZtqsWLFxeb/3e3Qe/du7d69+59aZUBAIBrDkMRAADA\nGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAA\njCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAA\nwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEA\nAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4A\nAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuAB\nAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwge\nAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbg\nAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMI\nHgAAwBiPkhbIyMjQu+++qxMnTshisSgyMlL//Oc/lZubq7i4OB0/flw1a9bUmDFj5OfnJ7vdroSE\nBG3dulXe3t4aPny4GjZsaGJfAADAVa7EEQ93d3cNHDhQcXFxmjJlir755hsdPnxYy5cvV8uWLTVr\n1iy1bNlSy5cvlyRt3bpVaWlpmjVrloYOHaoPP/zwsu8EAABwDSUGj4CAAMeIhY+Pj2rXri2r1aqU\nlBR17txZktS5c2elpKRIkjZv3qyIiAhZLBY1adJEp06dUlZW1mXcBQAA4CrKdI1Henq6Dhw4oNDQ\nUGVnZysgIEDSuXBy8uRJSZLValVwcLBjnaCgIFmt1gosGQAAuKoSr/E4r6CgQLGxsXrsscfk6+t7\n0eXsdnuxeRaLpdi8xMRErVixQnl5eYqPj3cKK5ebh4eH0eczyVX2LTk5WUlJScrPz1dCQgL9ryCu\nsm/0//JwlX27kv0vj6u9vvNcpf+lCh5nz55VbGysbr/9drVv316S5O/vr6ysLAUEBCgrK0vVq1eX\ndG6EIyMjw7FuZmamY2TkzyIjIxUZGemY/vM6l1twcLDR5zPJ5L6FhISUe93w8HCFh4c7pul/xaD/\nJaP/FcNV+18eV3t957lK/0s81WK32zVnzhzVrl1b99xzj2N+WFiY1q1bJ0lat26d2rVr55i/fv16\n2e127dmzR76+vhcMHgAAoPIpccTjt99+0/r161WvXj0988wzkqR+/fopKipKcXFxSkpKUnBwsMaO\nHStJuvnmm7VlyxaNHDlSXl5eGj58+OXdAwAA4DJKDB5NmzbV4sWLL/jYK6+8UmyexWLRkCFDLr0y\nAABwzeHOpQAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAY\nggcAADCG4AEAAIwp8bta/mrbtm1KSEiQzWZT165dFRUVVWyZ5ORkffbZZ7JYLKpfv75GjRpVIcUC\nAADXVqbgYbPZFB8fr5deeklBQUF6/vnnFRYWpjp16jiWSU1N1fLlyxUTEyM/Pz9lZ2dXeNEAAMA1\nlelUy759+3T99derVq1a8vDwUHh4uFJSUpyWWbNmjbp37y4/Pz9Jkr+/f8VVCwAAXFqZRjysVquC\ngoIc00FBQdq7d6/TMkePHpUkvfzyy7LZbHrwwQfVpk2bCigVAAC4ujIFD7vdXmyexWJxmrbZbEpN\nTdWECRNktVr1yiuvKDY2VlWrVnVaLjExUYmJiZKkqVOnlrVuXCWCg4OvdAm4guh/5Ub/UR5lCh5B\nQUHKzMx0TGdmZiogIMBpmcDAQDVp0kQeHh667rrrFBISotTUVIWGhjotFxkZqcjIyEsoHVeDjIyM\nS95GSEhIBVSCK4H+V270H+VRpms8GjVqpNTUVKWnp+vs2bNKTk5WWFiY0zK33nqrdu7cKUk6efKk\nUlNTVatWrYqrGAAAuKwyjXi4u7vr8ccf15QpU2Sz2XTHHXeobt26WrRokRo1aqSwsDC1bt1a//vf\n/zRmzBi5ublpwIABqlat2uWqHwAAuJAy38ejbdu2atu2rdO8vn37On62WCx69NFH9eijj156dQAA\n4JrCnUsBAIAxBA8AAGAMwQMAABhD8AAAAMYQPAAAgDEEDwAAYAzBAwAAGEPwAAAAxhA8AACAMQQP\nAABgDMEDAAAYQ/AAAADGEDwAAIAxBA8AAGAMwQMAABhD8AAAAMYQPAAAgDEEDwAAYAzBAwAAGEPw\nAAAAxhA8AACAMQQPAABgDMEDAAAYQ/AAAADGEDwAAIAxBA8AAGAMwQMAABhD8AAAAMYQPAAAgDEE\nDwAAYAzBAwAAGEPwAAAAxhA8AACAMR5XugAAKI9NOZbyrZiTKals63aoZi/fcwEohhEPAABgDMED\nAAAYQ/AAAADGEDwAAIAxBA8AAGAMwQMAABhD8AAAAMYQPAAAgDEEDwAAYAzBAwAAGEPwAAAAxhA8\nAACAMS79JXE1O79T/nXLsc7xdf8q9/MBAABGPAAAgEEEDwAAYAzBAwAAGEPwAAAAxhA8AACAMQQP\nAABgDMEDAAAYQ/AAAADGEDwAAIAxBA8AAGAMwQMAABhD8AAAAMYQPAAAgDEEDwAAYAzBAwAAGONR\n0gLvvfeetmzZIn9/f8XGxkqSFi9erDVr1qh69eqSpH79+qlt27aSpGXLlikpKUlubm4aNGiQ2rRp\ncxnLBwAArqTE4NGlSxfdfffdevfdd53m9+zZU/fdd5/TvMOHDys5OVkzZsxQVlaWYmJi9NZbb8nN\njYEVAABQilMtzZo1k5+fX6k2lpKSovDwcHl6euq6667T9ddfr3379l1ykQAA4NpQ4ojHxXzzzTda\nv369GjZsqEceeUR+fn6yWq1q3LixY5nAwEBZrdYLrp+YmKgVK1YoLy9P8fHxCg4OLm8pxrhCjR4e\nHi5RZ3JyspKSkpSfn6+EhASjNbvKMSoPV9m3Cul/TmbFF3YRrnBMpUrWf4Ou9vrOc5X+lyt4dOvW\nTQ888IAkadGiRfr44481fPhw2e32Um8jMjJSkZGRjumMjIwy11GzzGtcmvLUaFpwcLCxOkNCQsq9\nbnh4uMLDwx3TJo+tyWNkWuXqv6Xcz19WrvL/pXL135yrvb7zXKX/5br4okaNGnJzc5Obm5u6du2q\n/fv3S5KCgoKUmfn/34VYrVYFBgaWuzgAAHBtKVfwyMrKcvz8888/q27dupKksLAwJScn68yZM0pP\nT1dqaqpCQ0MrplIAAODySjzVMnPmTO3atUs5OTkaNmyY+vTpo19++UUHDx6UxWJRzZo1NXToUElS\n3bp11bFjR40dO1Zubm4aPHgwn2gBAAAOJQaP0aNHF5t35513XnT53r17q3fv3pdWFQAAuCYxHAEA\nAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4A\nAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuAB\nAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwge\nAADAGIIHAAAwhuABAACMIXgAAABjyhw8tm3bplGjRik6OlrLly+/6HKbNm1Snz59tH///ksqEAAA\nXDvKFDxsNpvi4+P1wgsvKC4uThs3btThw4eLLZefn6/Vq1ercePGFVYoAABwfWUKHvv27dP111+v\nWrVqycPDQ+Hh4UpJSSm23KJFi3TffffJ09OzwgoFAACur0zBw2q1KigoyDEdFBQkq9XqtMyBAweU\nkZGhW265pWIqBAAA1wyPsixst9uLzbNYLI6fbTabPvroIw0fPrzEbSUmJioxMVGSNHXq1LKUgatI\ncHDwlS4BVxD9r9zoP8qjTMEjKChImZmZjunMzEwFBAQ4pgsKCvTHH3/o1VdflSSdOHFCb7zxhsaP\nH69GjRo5bSsyMlKRkZGXUjuuAhkZGZe8jZCQkAqoBFcC/a/c6D/Ko0zBo1GjRkpNTVV6eroCAwOV\nnJyskSNHOh739fVVfHy8Y3rixIkaOHBgsdABAAAqpzIFD3d3dz3++OOaMmWKbDab7rjjDtWtW1eL\nFi1So0aNFBYWdrnqBAAA14AyBQ9Jatu2rdq2bes0r2/fvhdcduLEieUqCgAAXJu4cykAADCG4AEA\nAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4A\nAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuAB\nAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwge\nAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIzxKGmB9957T1u2bJG/v79iY2Ml\nSbm5uYqLi9Px48dVs2ZNjRkzRn5+frLb7UpISNDWrVvl7e2t4cOHq2HDhpd9JwAAgGsoccSjS5cu\neuGFF5zmLV++XC1bttSsWbPUsmVLLV++XJK0detWpaWladasWRo6dKg+/PDDy1M1AABwSSUGj2bN\nmsnPz89pXkpKijp37ixJ6ty5s1JSUiRJmzdvVkREhCwWi5o0aaJTp04pKyvrMpQNAABcUbmu8cjO\nzlZAQIAkKSAgQCdPnpQkWa1WBQcHO5YLCgqS1WqtgDIBAMC1oMRrPMrCbrcXm2exWC64bGJiolas\nWKG8vDzFx8c7BZarlSvU6OHh4RJ1JicnKykpSfn5+UpISDBas6sco/JwlX2rkP7nZFZ8YRfhCsdU\nqmT9N+hqr+88V+l/uYKHv7+/srKyFBAQoKysLFWvXl3SuRGOjIwMx3KZmZmOkZG/ioyMVGRkpGP6\nz+uVVs0yr3FpylOjacHBwcbqDAkJKfe64eHhCg8Pd0ybPLYmj5Fplav/F35Tczm4yv+XytV/c672\n+s5zlf6X61RLWFiY1q1bJ0lat26d2rVr55i/fv162e127dmzR76+vhcNHgAAoPIpccRj5syZ2rVr\nl3JycjRs2DD16dNHUVFRiouLU1JSkoKDgzV27FhJ0s0336wtW7Zo5MiR8vLy0vDhwy/7DgAAANdR\nYvAYPXr0Bee/8sorxeZZLBYNGTLk0qsCAADXJO5cCgAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACM\nIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADA\nGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAA\njCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEAAIwheAAAAGMIHgAA\nwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMIXgAAABjCB4AAMAYggcAADCG4AEA\nAIwheAAAAGM8rnQBQHmF7D1avhX3HlVIGVc52risa1wak/smmd8/AJUXIx4AAMAYggcAADCG4AEA\nAIwheAAAAGMIHgAAwBiCBwAAMIbgAQAAjCF4AAAAYwgeAADAGIIHAAAwhuABAACMKfN3tWzbtk0J\nCQmy2Wzq2rWroqKinB5ftWqV1qxZI3d3d1WvXl1PPfWUatasWWEFAwAA11WmEQ+bzab4+Hi98MIL\niouL08aNG3X48GGnZRo0aKCpU6fqzTffVIcOHTR//vwKLRgAALiuMgWPffv26frrr1etWrXk4eGh\n8PBwpaSkOC3TokULeXt7S5IaN24sq9VacdUCAACXVqbgYbVaFRQU5JgOCgr622CRlJSkNm3alL86\nAABwTSnTNR52u73YPIvFcsFl169fr99//10TJ0684OOJiYlKTEyUJE2dOrUsZeAqEhwcfKVLwBVE\n/ys3+o/yKFPwCAoKUmZmpmM6MzNTAQEBxZbbvn27li1bpokTJ8rT0/OC24qMjFRkZGQZy8XVJiMj\n45K3ERISUgGV4Eqg/5Ub/Ud5lCl4NGrUSKmpqUpPT1dgYKCSk5M1cuRIp2UOHDigDz74QC+88IL8\n/f0rtFgAqAw25Vx4JLlEOZmSyr5uh2rFR7OBy6VMwcPd3V2PP/64pkyZIpvNpjvuuEN169bVokWL\n1KhRI4WFhWn+/PkqKCjQjBkzJJ0binv22WcvS/EAAMC1lPk+Hm3btlXbtm2d5vXt29fx88svv3zp\nVQEAgGsSdy4FAADGEDwAAIAxBA8AAGAMwQMAABhD8AAAAMYQPAAAgDEEDwAAYAzBAwAAGEPwAAAA\nxhA8AACAMQQPAABgDMEDAAAYQ/AAAADGEDwAAIAxBA8AAGCMx6WsPGLECFWpUkVubm5yd3fX1KlT\nlZubq7i4OB0/flw1a9bUmDFj5OfnV1H1AgAAF3ZJwUOSJkyYoOrVqzumly9frpYtWyoqKkrLly/X\n8uXLNWDAgEt9GgAAcA2o8FMtKSkp6ty5sySpc+fOSklJqeinAAAALuqSRzymTJkiSbrrrrsUGRmp\n7OxsBQQESJICAgJ08uTJC66XmJioFStWKC8vT/Hx8QoODr7UUi47V6jRw8PDJepMTk5WUlKS8vPz\nlZCQUL6a9x6t+MIuwvgxNbhvkvn9q5D+52RWfGEXYbz/BvdNctH+G3S113eeq/z+v6TgERMTo8DA\nQGVnZ2vy5MkKCQkp9bqRkZGKjIx0TGdkZJT5+WuWeY1LU54aTQsODjZWZ1n6/Vfh4eEKDw93TJen\n5vI/e9mZ7r3JfZPKefyvcP8lS7mfv6zMv/bN7Zvkqv0352qv7zxX+f1/SadaAgMDJUn+/v5q166d\n9u3bJ39/f2VlZUmSsrKynK7/AAAAlVu5g0dBQYHy8/MdP2/fvl316tVTWFiY1q1bJ0lat26d2rVr\nVzGVAgAAl1fuUy3Z2dl68803JUlFRUXq1KmT2rRpo0aNGikuLk5JSUkKDg7W2LFjK6xYAADg2sod\nPGrVqqXp06cXm1+tWjW98sorl1QUAAC4Nl3yp1oAAEDFGRS/1ejzJQy+2ejzcct0AABgDMEDAAAY\nQ/AAAADGEDwAAIAxBA8AAGAMwQMAABhD8AAAAMYQPAAAgDEEDwAAYAzBAwAAGEPwAAAAxhA8AACA\nMQQPAAD+X3v3HtPk+bcB/IIiIBSN1m3MqSHDI9OpzEVgnuaYmiVz5k0UMx2ZZlEj6qLZxImvhzic\nzk2Y4KZTdB5AWdS5g+AU8TCQISiIRygSOWwgLwUtlmPp/f7hj/5WwZViuaX1+vxl+9w87ff+3je9\nbNoHkobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIi\nkobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobB\ng4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iI\niKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh\n8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAi\nIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAiIiJp\nGDyIiIhIGgYPIiIikuIQAmkAAA7wSURBVIbBg4iIiKRh8CAiIiJpGDyIiIhIGqen/QSodc+Nj27/\nz7bjZ/7v3KJ2Px4REVFb8R0PIiIikobBg4iIiKRh8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh\n8CAiIiJpGDyIiIhIGgYPIiIikobBg4iIiKRh8CAiIiJpLP5bLdnZ2dizZw8MBgPeeustTJs2zeR4\nY2MjoqOjcfPmTeh0OnTv3h2TJk1qMY6IiIiePRa942EwGBATE4OVK1ciIiICqampKCkpMRmTnJwM\nNzc3uLi4YNasWfD29m51HBERET17LAoe+fn58PT0xAsvvAAnJycEBAQgIyPDZExmZia8vb3h6emJ\nyZMn48aNG/D3928xjoiIiJ49FgWPyspKqFQq422VSoXKysoWY4QQUKlUUCgUcHNzg7u7e4txRERE\n9Oyx6DMeQogW9zk4OLQY05ZxUVFRSEtLg8FgwKFDh9C7d29LnspD6g2W/8wTaMczbD8bqa1dfQOQ\nlJSEn3/+GTU1NYiJiWnfedr52O0htfeA1NoA2+z//7TrkW2DrdT2NPv/+/9K35XS2HNtgIXveKhU\nKmg0GuNtjUaDHj16tBjj6OgIjUaDpqYm1NTUQKfTtRi3ePFixMXF4dChQ1ixYsUTlGA52Y8n05PW\nJmtuAgMDERUVhZiYGCmP90+20v/2PE9bqc3W+m8r82orz7O9/bdGfbYyR+0hs7YneSyLgoe3tzdK\nS0tRXl4OvV6PCxcuYNSoUSZjXnvtNeTn56O0tBS///47hgwZgrS0tBbjiIiI6NljUfBQKBSYO3cu\nwsPDsXTpUvj7+6Nv376Ij49HZmYmAGDixImoqalBQ0MDYmNjUVBQYBxHREREzzaLr+Ph6+sLX19f\nk/uCgoKM/3Z2dsayZcssOmdgYKClT+OJyH48mZ60Nnuem2a2UmN7nqet1PY02fO82srzbC9r1GfP\ncySztid5LAfR2idBiYiIiDoAL5lORERE0ijWrl27VtaDZWdn44svvkBCQgIaGhowePBgk+ONjY3Y\nunUr4uLikJKSgmHDhsHd3d2ix/jxxx9RXFyM/v37AwDOnj2L8+fPY/jw4Sbj8vLysH//fhQUFMBg\nMMDT0xMJCQn466+/4OXl9UR1WsuJEydw+fJlvPLKK48d09Z6AdOa1Wo1tm/fjsOHD+P27dvw9/c3\nGfvbb7/hu+++Q1JSEv7880/4+PhY3AsZOnKOZK0Lc/ui2ZYtWxAREQFfX1/07NnTpte2tViz/9nZ\n2Vi3bh3i4+ORk5ODHj16tJi7CxcuYMuWLTh58iRu3boFPz+/Dq2vPXXYQ//N7YmKigps3rwZhw4d\nwrFjx9CnTx+8+OKLrZ6rs+//tnoa/f/222+xY8cOnDt3DpMnT25xXAiBPXv2YPfu3UhOTkb//v1b\nfIO1NRZ/xqO9mi+3vmrVKqhUKnz22WcYNWoU+vTpYxyTnJwMd3d3REVFITU1FbGxsVi6dKnZc3//\n/ffIzc0FANy/fx8KhQKnTp0CAOh0OjQ2NuLKlSsAHn4zZ/78+TAYDBBCYMqUKbh48SKGDx+O9PR0\nzJkzpwOqty5L612wYAGEEMaaJ02ahNDQUGzYsAHbtm1DYWEhSkpKTHrh5eWFjRs3wsXFBSdPnsSB\nAwfa1IvO4knnSNa6MLcvmuswGAwoKyuDQqFAZGQknJ2d7XJtW4ul/Z83bx527dqF4OBgpKWlobi4\nGDdv3jSZu9LSUhw7dgzr16+HUqnE/fv3O10d9tD/trxWHDlyBP7+/jAYDCgpKUFMTIzJZw9tZf+b\n87T7P2HCBEyZMgXbtm1r9XhWVhbKysqwdetWqNVq7Nq1Cxs2mL8GlbTg8c/LrQMwXm79n4spMzMT\n06dPBwD4+flh9+7dEEK0uPjYo+bNm4eGhgY4OzsjKSkJSqXS+D+RS5cu4e7du3jnnXcAAIcPH8by\n5cvR0NCA6upqhIeHAwB8fHyQm5uLyMhI43l9fX0RHBxsvUkwIzQ0FDU1NcbbNTU1MBgM+OOPP0zG\nffXVV3BwcGhTvcDDmtPS0ow13759G42Njaivr0deXh7c3d2xZs0aeHh4GGseOnSo8ecHDBjQ4jk8\nLbLmSNa6MLcvmtd2XFwchg4diuvXryMkJATe3t42tbatpaP6v2PHDmi1WsTFxaG6uhpdunTB6dOn\nERAQYJw7rVYLJycnHD16FMHBwejevXuH12svv9ss8W97orn/Wq0W6enpcHBwgF6vh16vx+LFi43n\nsJX9b87T7r+Pjw/Ky8sfezwzMxPjxo2Dg4MDBg4cCJ1Oh6qqKrPvekgLHq1dbl2tVj92TPPl1qur\nq9GtW7d/PXdDQwPWrFmDjz/+GGq1Gq+++qrx2K1btzBs2DBER0dj/PjxmDRpEkaPHo3a2lokJCRg\nyZIluHPnDq5du4Z3330Xs2bNglqtxrFjx6RvzE2bNpncPnHiBLRaLWbMmGFyvyX1Dhs2rEXNo0eP\nRkpKirHmvn37IiMjAwaDodWak5OTMWLEiI4p2kKy5kjWujC3LxoaGrBixQr07NkTKpXK5KrAtrS2\nraWj+j9w4EBUV1dj6tSpSEhIwMiRI3H58mWTuVu9ejXu3bsHtVqNsLAwTJ8+vcP3hb38brPEv+2J\n5v5XVVXh888/h0ajgV6vx/r16/Hyyy8bf8ZW9r85nb3/lZWV6NWrl/F2859RMRc8pH24tK2XWzc3\npjXOzs744IMP8Omnn0KpVOKNN94wHtNqtdDr9QgODkZmZibu3buHiIgINDY2AgB+/fVXJCYmIiEh\nAbW1tQCAoqIiY9rujCypV6/XQ6vVmtSckZGB4uJik5ofPHjQas3nz59HQUEBpk6dKqc4K3nSOZK1\nLsyteScnJygUCty6dQtKpdLkf9n2uLatxdL+63Q6XL9+3Th3WVlZKCwsNJm7mpoaCCGMLwTbt2+H\nTqfrNHXYS//b8jqQmpqKCRMmYObMmRgzZgyioqJgMBiMx21l/5vT2fvf3tdsae94tPVy6xqNBiqV\nyni5daVSafbcmZmZOHjwIHx8fKBUKpGcnIzjx48DeJjIrl27BldXVwCAu7s7xo0bh8LCQuj1ehQV\nFeHNN99EbW0t8vPzATz8cM6j1yrpaPv27UN6errJfTqdDkIInDt3rsV4V1fXNtV79OhRzJgxw6Tm\n+vp6uLm5oVevXsjPz4dKpUJtbS0GDRpk8hg5OTn46aefsHbtWnTp0qWDKm87mXMka12Y2xfNnzdw\ncnJCcnIy6urqEBYWhueeew4PHjywibVtLR3Z/xEjRqBbt27GuSsvL8egQYOg0+mMc6fX6zFixAg4\nOTnh+eefR+/evVFaWmr8sF9HsIffbZZ63J74Z/8rKyvRvXt31NXVQQiB+vp6hISEwNHxv/+XtoX9\nb05n779KpUJFRYXxdmuv660Skuj1ehESEiLu3r0rGhsbxSeffCKKiopMxiQmJoodO3YIIYRISUkR\nX3/9dZvOfebMGVFRUSGOHz8uFi1aZHIsNDRUxMfHm9xXV1cn4uLiRFhYmEhPTxdCCNHU1CRWrVol\nrl69Kj766CNRW1vb3lKt4vr16yI4OFjMnj1b5OTkmByztF4hTGtOS0sTISEhorS0VISFhYmQkBAx\nd+5ck5oLCgrEokWLxN9//90xBVpBR86RrHVhbl88WseaNWtEfn7+Y+uwhbVtLdbsv16vFwsXLhQ7\nd+4UK1euFAsXLhRFRUUmc/fhhx+KyMhIIYQQ9+/fFwsWLBBarbZDa7TH323mtOW1Ijw8XMTGxorg\n4GAxa9YsMWfOHGEwGIzHbWX/m9MZ+n/37l2xbNmyVo9dunRJhIeHC4PBIHJzc8WKFSvadE5pX6d1\ndHSEp6cnoqKicOLECYwdOxZ+fn6Ij49HXV0devfujX79+iElJQVxcXG4c+cO5s2b16Z3PLy8vHDj\nxg2cPn0adXV1CAgIgKurKzQaDc6ePYuysjJMnDgRjo6OqKiowMaNG+Hh4YHa2lrk5ORAr9djwIAB\n6Nq1K6KiohAYGIiRI0dKmJXW3blzB7t27cL48ePRr18/nDlzBt7e3sYkaUm9AFrUfPXqVQwZMgRH\njx7FvXv3UF1djcmTJyMvL8/Yi+joaGg0GmRlZeHUqVPIysrCmDFjntqcPKqj50jWujC3LwICAkzq\ncHZ2xsiRIyGEsMm1bS3W7n9lZSVSUlKgVqtRVVUFJycnqFQqXL58GT169MCBAwfw9ttvw9nZGXv3\n7sX58+cRFBTUoe92WFqHvfS/La8Vzs7OiIuLg4uLCxQKBTw8PDB48GCb2//mPO3+R0ZGIj4+HhqN\nBklJSXBzc4Narcbt27fh7e0NT09P5OXl4YcffkB2djbmz5+Pnj17mj+xRdGnkzp8+LBYvXq1qK6u\nFuvWrROFhYVCCCG++eYbcerUKbFz507xyy+/CCGEOHLkiLh06ZLIzc0VERERorq6WuzZs0c0NTWJ\nxMREERQU1GoaluXKlStiyZIlori4WCQmJor4+HhRUlIilixZIi5evGhxvUJ0/pot9SzNkT2tbWth\n/9l/9t+2+y/tMx4d6fXXX8e0adMghIBGo4FSqcT+/fuh1WqNf7QuNDQUXbt2xXvvvQcHBwekpqZC\noVBAqVRi5syZ2Ldvn/ErR9HR0aiqqsLs2bOlXTSrsbERR44cwYULF7B8+XL06dMH165dAwC89NJL\nCA0NxebNm5GWloapU6e2ud7AwMBOW7OlnsU5soe1bS3sP/vP/ttH/+3ib7Xo9XqEhIRACIExY8ag\ntLQUCoUCixcvhouLCwCgrKwMX375JcaOHYv4+Hh06dIFISEh8PPzQ1hYGAYNGoSgoCC4uLigvr4e\nsbGxcHV1xfvvvy+lhr1796K8vBwLFiyAh4cHgJZfFayrq8PBgwfR1NSEjIyMNtfr5eWFTZs2dbqa\nLfUszpE9rG1rYf/Zf/bfPvpvF8GjmfjPxcYedwGT5q8ZPfoNjeYLtDzufDLo9Xo4OZm+AfW4axQ0\na2+9QOeo2VLP8hzZ8tq2Fvaf/Wf/7aP/dhU8iIiIqHPjX6clIiIiaRg8iIiISBoGDyIiIpKGwYOI\niIikYfAgIiIiaRg8iIiISBoGDyIiIpLm/wHslFkASWo2YAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc8bacf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig=plt.figure(figsize=(8,9))\n",
    "plt.style.use('ggplot')\n",
    "plt.title('根据舱等级和性别的获救情况',fontproperties=font)\n",
    "ax1=fig.add_subplot(141)\n",
    "data.Survived[data.Sex == 'female'][data.Pclass != 3].value_counts().plot(kind='bar', label=\"female highclass\", color='#FA2479')\n",
    "ax1.set_xticklabels([u\"获救\", u\"未获救\"], rotation=0,fontproperties=font)\n",
    "ax1.legend([u\"女性/高级舱\"], loc='best',prop=font)\n",
    "\n",
    "ax2=fig.add_subplot(142, sharey=ax1)\n",
    "data.Survived[data.Sex == 'female'][data.Pclass == 3].value_counts().plot(kind='bar', label='female, low class', color='pink')\n",
    "ax2.set_xticklabels([u\"未获救\", u\"获救\"], rotation=0,fontproperties=font)\n",
    "plt.legend([u\"女性/低级舱\"], loc='best',prop=font)\n",
    "\n",
    "ax3=fig.add_subplot(143, sharey=ax1)\n",
    "data.Survived[data.Sex == 'male'][data.Pclass != 3].value_counts().plot(kind='bar', label='male, high class',color='lightblue')\n",
    "ax3.set_xticklabels([u\"未获救\", u\"获救\"], rotation=0,fontproperties=font)\n",
    "plt.legend([u\"男性/高级舱\"], loc='best',prop=font)\n",
    "\n",
    "ax4=fig.add_subplot(144, sharey=ax1)\n",
    "data.Survived[data.Sex == 'male'][data.Pclass == 3].value_counts().plot(kind='bar', label='male low class', color='steelblue')\n",
    "ax4.set_xticklabels([u\"未获救\", u\"获救\"], rotation=0,fontproperties=font)\n",
    "plt.legend([u\"男性/低级舱\"], loc='best',prop=font)\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc7d25c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n8fT0pFy5ckyZMoUmTZoQERFB9+7d7cucPXuWnJwcpk6dysSJE2nbti1nz57l6aefZtasWQC88847\n/PLLL2zcuJGHHnoIgN27d9sD7/Dhw7Rt25a0tDQ6duxorx3yrtFERUXZ66pZsyZfffUVISEhrFu3\njqNHjxbp2ErJpbCQYlGzZk3Kly/PmjVrWLp0KatWreLZZ5+levXqzJs3j9atW/PII49Qv359Zs+e\nTc+ePfn888/p0qVLgesLDg5m8ODBZGRkMHLkSNavX5/v8+TkZC5dukS1atUAqFixIvfccw+hoaHM\nnTuXhg0bcurUKXbt2sWQIUMYMmSIPRQ2b97M2LFj+e677+x/IRdFamoq+/fvB/J+YV9mtVqBvIv8\nK1as4JlnnqFJkyZkZGQwadIkVq9eTeXKlenVqxebNm3Cy8uL//3vf6xcuZK77rrrmtt87rnn2L9/\nv/24WSwWcnJy8PLyYvny5fz73/8mLCyMSpUqMW/ePPu1lZMnT7J27Vp8fX0BeOONN5gwYQK9e/fm\n559/5tKlS+zevZt//vOfnDt3ju3btwN5F7Q7deoEgKenJ7Vq1WLHjh088sgjlC1btsAbBDw8PBgy\nZEi+cwTw008/UatWLdLS0qhcuTK///47f/nLX/Dz8yvysRcXcnU/mJQO/fr1M9WqVTPdunUz8+fP\nN+fPn7d/ZrVazerVq83YsWNNu3btzH/+8x9jjDHVq1cvcF2pqammYcOG+eZNnDjRDB482KSmphpj\njHnvvfdM8+bNTW5urrFarWby5MnmpZdesi+/adMms3//fjNixAhjsVhMgwYNTEhIiAkJCTE1atQw\n4eHhpnnz5mb//v3GmKJds7BarWb//v3m888/N9WrVzc2m820bt3a1K9f32RnZ5tatWqZ3NxcEx8f\nb5588kljtVrN4cOHzcqVK82YMWNMs2bNTOvWrU3r1q1NkyZNTEREhHnvvffM4sWLzdatW81XX31l\nypcvb79uUK5cOZOQkGBsNpvp2LGjef31140xxnTt2tV8++23JiYmxhw/ftxER0eboKCgfHWHhISY\nV1999ar9uXDhghk3bpxp2bKl+fLLL+37de+995q1a9eaqlWrmoyMDPvy69evN4MHDzbGGNO/f38z\nYcIEs2LFinz/qlSpYl/+6NGjplq1aubkyZPmP//5j1myZInp37+/OXjwoLn33nvNmTNnzLhx4wo9\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc7e37f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "fig.set(alpha=0.2)  # 设定图表颜色alpha参数\n",
    "\n",
    "Survived_0 = data.Embarked[data.Survived == 0].value_counts()\n",
    "Survived_1 = data.Embarked[data.Survived == 1].value_counts()\n",
    "df=pd.DataFrame({u'获救':Survived_1, u'未获救':Survived_0})\n",
    "df.plot(kind='bar', stacked=True)\n",
    "plt.title(u\"各登录港口乘客的获救情况\",fontproperties=font)\n",
    "plt.xlabel(u\"登录港口\",fontproperties=font) \n",
    "plt.ylabel(u\"人数\",fontproperties=font) \n",
    "plt.legend(('未获救','获救'),loc='best',prop=font)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SibSp</th>\n",
       "      <th>Survived</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">0</th>\n",
       "      <th>0</th>\n",
       "      <td>398</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>210</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">1</th>\n",
       "      <th>0</th>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2</th>\n",
       "      <th>0</th>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">3</th>\n",
       "      <th>0</th>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">4</th>\n",
       "      <th>0</th>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <th>0</th>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                PassengerId\n",
       "SibSp Survived             \n",
       "0     0                 398\n",
       "      1                 210\n",
       "1     0                  97\n",
       "      1                 112\n",
       "2     0                  15\n",
       "      1                  13\n",
       "3     0                  12\n",
       "      1                   4\n",
       "4     0                  15\n",
       "      1                   3\n",
       "5     0                   5\n",
       "8     0                   7"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "g = data.groupby(['SibSp','Survived'])\n",
    "df = pd.DataFrame(g.count()['PassengerId'])\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SibSp</th>\n",
       "      <th>Survived</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">0</th>\n",
       "      <th>0</th>\n",
       "      <td>398</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>210</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">1</th>\n",
       "      <th>0</th>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2</th>\n",
       "      <th>0</th>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">3</th>\n",
       "      <th>0</th>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">4</th>\n",
       "      <th>0</th>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <th>0</th>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                PassengerId\n",
       "SibSp Survived             \n",
       "0     0                 398\n",
       "      1                 210\n",
       "1     0                  97\n",
       "      1                 112\n",
       "2     0                  15\n",
       "      1                  13\n",
       "3     0                  12\n",
       "      1                   4\n",
       "4     0                  15\n",
       "      1                   3\n",
       "5     0                   5\n",
       "8     0                   7"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "g = data.groupby(['SibSp','Survived'])\n",
    "df = pd.DataFrame(g.count()['PassengerId'])\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "B96 B98            4\n",
       "C23 C25 C27        4\n",
       "G6                 4\n",
       "F2                 3\n",
       "E101               3\n",
       "C22 C26            3\n",
       "D                  3\n",
       "F33                3\n",
       "B49                2\n",
       "C124               2\n",
       "D36                2\n",
       "F4                 2\n",
       "B77                2\n",
       "B22                2\n",
       "C65                2\n",
       "B28                2\n",
       "E33                2\n",
       "E24                2\n",
       "C92                2\n",
       "C52                2\n",
       "F G73              2\n",
       "D20                2\n",
       "B35                2\n",
       "C125               2\n",
       "B57 B59 B63 B66    2\n",
       "E8                 2\n",
       "C83                2\n",
       "D26                2\n",
       "D33                2\n",
       "C78                2\n",
       "                  ..\n",
       "A10                1\n",
       "B42                1\n",
       "D15                1\n",
       "A14                1\n",
       "C50                1\n",
       "C91                1\n",
       "C110               1\n",
       "E63                1\n",
       "D47                1\n",
       "C90                1\n",
       "D45                1\n",
       "C95                1\n",
       "C46                1\n",
       "C104               1\n",
       "D10 D12            1\n",
       "E49                1\n",
       "F E69              1\n",
       "A20                1\n",
       "B86                1\n",
       "T                  1\n",
       "B4                 1\n",
       "E40                1\n",
       "D7                 1\n",
       "C101               1\n",
       "E58                1\n",
       "C70                1\n",
       "C106               1\n",
       "C62 C64            1\n",
       "B82 B84            1\n",
       "D11                1\n",
       "Name: Cabin, Length: 147, dtype: int64"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.Cabin.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0xd33b400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEhCAYAAACOZ4wDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3Xlc1PW+x/HXAAICgjDggktumWmU\nJi6dTmLK0dI0T5l5My0zvYpp6nGtU9ZVk1wCUctcjnbKU3bKyMqliySeUgsUd8s1N1yAQZFNtt/9\nw0dzJdCfGs6gvJ+PR4/H/Nb5zPwm33y/399iMQzDQERE5CpcnF2AiIhUfAoLERExpbAQERFTCgsR\nETGlsBAREVMKC3Gq7OxsZ5dg6siRIxw5csTZZYg4lcJCHGLLli307t27xLzCwkJCQkI4cOBAqfV/\n/fVX+vfvT40aNfDw8KB+/frExsZe9T02bNhAYGDgFZePHz+eV1555bprnzhxIhs2bLju7W5EcXEx\nWVlZpKSkcOzYsVLL33jjDebNm2efXrZsGWPHji1zX1u2bKFv375MmjSJb7/9FoCYmBiWLVtWat3N\nmzfz2muvlZrfvn17Tpw4cYOfRm4nbs4uQCqf9evX2/9Sv+uuu3jnnXdo3bo1AKGhoVStWpUOHTow\nZMgQtm/fTvXq1dm1axd/9JKgGTNmXNN6kZGRLF682D599OhRtmzZwrRp00qt265dO5YvX86TTz5J\nQkKCfX5mZiZeXl64uf3//2KhoaGsXbuWoqIi7r//fvLy8nBxufT3WmpqKlarlSpVquDl5YW3tzeN\nGzdm8eLFDB06lO+//x6As2fP4ubmxoIFCwA4d+4ceXl5rF27FoA2bdqwZMkSiouLKSoqwjAMRowY\nwRdffEGXLl34/PPPiYmJKfU5Ll68SEZGBllZWYSHh9vn79mzh549e+Lu7g5A9+7dueeee7BYLPTq\n1Ytff/2Vu+++mzvuuKPE/goKCvD39ycpKemavnOp+Cy6KE9utkmTJvHxxx9js9moX78+zZo1w2q1\n0rhxY/s/lgAJCQm0a9eOtWvX0q5dO2bPnn1d77NhwwZ69+5NWlpaudXet29fmjVrxhtvvHFd2z34\n4INER0fTpk2bMpevWrWK/Px84FJX3KhRo1i4cCEWi8W+jre3N48++igAubm5VK1alUWLFuHv729v\n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\nIjU1lZo1azJhwgRefvlltm/fzpw5c/jb3/4GwD//+U8mT55MQEAA0dHRfPrpp7z55psUFRVx5swZ\nsrKy7KfCXklUVFSpz/dbt9q5c+f4xz/+YQ/p7OzsMr/n06dPs3nzZv76179e9b3k1qCwEIe4ePGi\nfZA0NzeXn376iaSkJFq3bk2dOnVo164dkyZNon///vTu3Ztq1aoxZcoUxo0bh6urK02bNmX27Nl0\n7dqVLl26EBISQuPGjenfv799IBcuBVNQUBD16tXDarUya9YsHn744Ruu+1pbFseOHaN37960bNmS\nSZMmAeDh4cHp06ft6/z888/UrVuXkSNHApcGyc+dO1fqbC74//EAgF69ejFx4kSKi4s5fvw4AQEB\njBs3jtTUVF588UXOnz/P/fffj6+vL4MHD2bChAm4uLjw8ccfU6VKFfz9/Zk6dSp/+9vf2LRpE7/8\n8gv9+/fn1KlTzJgxw94Fd7nRo0eXOl34/PnzAMycOZOuXbtyxx13cPr0aZ5++ml69epFSEgIhw4d\nsncL7t27l2XLliksbheGyE02dOhQw8/Pz5g3b57x/vvvG/Xr1zeGDBlibNu2zb7OwYMHjS5duhhv\nv/22EystKSoqypgyZYp9urCw0LDZbEZOTo4RFhZmfPXVV4ZhGMZ7771nBAYGGrNnzy6x/fr1642a\nNWsazZs3N5o3b27UqVPHWLdunX35d999ZwQFBRmtW7cu9V+tWrWML774wjAMw7h48aJRu3Zto1at\nWsaYMWOMHj16GE888YSRnZ1t39eBAweM5s2bG2+99ZaxevVqw9XV1fDy8jL+/e9/G4ZhGO3btzfG\njBlj3yY7O9t46aWXjEmTJtlrGT58uGEYhjFo0CBjzZo1JT5LXl6eUbNmTcMwDGPdunXG3r17ja1b\ntxo1a9Y03nrrLft6ubm5RkhIiNGkSROjfv369veXW59aFnLTvffee7z33nvApRbGiy++WOJiPIDG\njRuzbt26EtcQVDQXL16kbdu2uLi4cOeddxIWFgZAeHg4PXr0oE6dOiXW79SpU4mWRVmeeOKJMk+b\nnThxov21u7s7KSkpGIaBxWKxn210uSZNmrBt2zbgUovm99/jd999V+KEAS8vL+bOnWt6VXx8fDyD\nBw/GMAz69OkDYB+wLy4u5scffyxx9banpyc7d+686j7l1qQruEVExJSu4BYREVMKCxERMaWwEBER\n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\ntCyio6PZu3cvFy5cYOjQofTp04devXoRFRVFfHw8gYGBjBkzBoBWrVqxbds2Ro4cibu7OxEREY4o\nUURErsJilDVIcItKSUlxdgmmigb3dHYJtxXXRaucXcJt4/HlPzu7hNvKl/2aObuEa1Lhu6FEROTW\nobAQERFTCgsRETGlsBAREVMKCxERMVXhruAWEedYuWG8s0u4vfS7vc7UU8tCRERMKSxERMSUwkJE\nREwpLERExJTCQkRETCksRETElMJCRERMKSxERMSUwkJEREwpLERExJTCQkRETCksRETElMJCRERM\nKSxERMSUwkJEREwpLERExFSFffjR9u3bWbp0KcXFxXTu3JlevXo5uyQRkUqrQrYsiouLWbJkCa+8\n8gpRUVH88MMPnDhxwtlliYhUWhUyLA4ePEitWrWoWbMmbm5u/OlPfyIxMdHZZYmIVFoVshvKZrNh\ntVrt01arlQMHDpRaLy4ujri4OAAiIyMJDg52WI037JskZ1cgUjb9NuUqKmTLwjCMUvMsFkupeeHh\n4URGRhIZGemIsiqViRMnOrsEkTLpt+kcFTIsrFYr6enp9un09HT8/f2dWJGISOVWIcOicePGnDp1\nirNnz1JYWMimTZsIDQ11dlkiIpVWhRyzcHV15YUXXmDatGkUFxfz8MMPU69ePWeXVamEh4c7uwSR\nMum36RwWo6wBAhERkctUyG4oERGpWBQWIiJiSmEhIiKmFBYiUqGtXbuWnJwcABYuXMikSZPYtWuX\nk6uqfBQWYpeens7MmTMZNGgQgwcPZtasWSWudxFxhri4OLy8vNixYwc2m43Bgwfz0UcfObusSkdh\nIXbvvvsuoaGhLFy4kAULFhAaGsq7777r7LKkkvvt7g3Jycl07NiRRo0alXmXB7m5FBZil5mZycMP\nP4yrqyuurq507NiRzMxMZ5clldwdd9zB9OnT2bp1K61atSIvL6/M2//IzVUhL8oT5/D19WXjxo38\n+c9/BuD777+nWrVqTq5KKruIiAgOHz5MrVq18PDwIDMzk6FDhzq7rEpHF+WJXVpaGkuWLGH//v1Y\nLBaaNm3KwIEDCQoKcnZpUsn98MMPnDlzhieeeIK0tDQyMzNp1KiRs8uqVBQWIlKhLVmyhKKiIvbt\n20dUVBRZWVlMmzaN6dOnO7u0SkXdUMJnn3121eW9e/d2UCUipe3fv5+3336b8ePHA+Dj40NhYaGT\n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\nRMTU/wGjRzRgfgDXJQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xd206048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "Survived_cabin = data.Survived[pd.notnull(data.Cabin)].value_counts()\n",
    "Survived_nocabin = data.Survived[pd.isnull(data.Cabin)].value_counts()\n",
    "df=pd.DataFrame({'Yes':Survived_cabin, 'No':Survived_nocabin}).transpose()\n",
    "df.plot(kind='bar', stacked=True)\n",
    "plt.title(u\"按Cabin有无看获救情况\",fontproperties=font)\n",
    "plt.xlabel(u\"Cabin有无\",fontproperties=font) \n",
    "plt.ylabel(u\"人数\",fontproperties=font)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>No</th>\n",
       "      <td>481</td>\n",
       "      <td>206</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>68</td>\n",
       "      <td>136</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       0    1\n",
       "No   481  206\n",
       "Yes   68  136"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据预处理\n",
    "#### 利用rf来拟合年龄的缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "def set_missing_ages(df):\n",
    "    # 把已有的数值型特征取出来丢进Random Forest Regressor中\n",
    "    age_df = df[['Age','Fare', 'Parch', 'SibSp', 'Pclass']]\n",
    "    known_age = age_df[age_df.Age.notnull()].as_matrix()\n",
    "    unknown_age = age_df[age_df.Age.isnull()].as_matrix()\n",
    "    y = known_age[:, 0]\n",
    "    X = known_age[:, 1:]\n",
    "    rfr = ensemble.RandomForestRegressor(random_state=0, n_estimators=2000, n_jobs=-1)\n",
    "    rfr.fit(X, y)\n",
    "    predictedAges = rfr.predict(unknown_age[:, 1::])\n",
    "    df.loc[ (df.Age.isnull()), 'Age' ] = predictedAges \n",
    "    return df, rfr\n",
    "def set_Cabin_type(df):\n",
    "    df.loc[ (df.Cabin.notnull()), 'Cabin' ] = \"Yes\"\n",
    "    df.loc[ (df.Cabin.isnull()), 'Cabin' ] = \"No\"\n",
    "    return df\n",
    "data_train, rfr = set_missing_ages(data)\n",
    "data_train = set_Cabin_type(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,\n",
       "           max_features='auto', max_leaf_nodes=None,\n",
       "           min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "           min_samples_leaf=1, min_samples_split=2,\n",
       "           min_weight_fraction_leaf=0.0, n_estimators=2000, n_jobs=-1,\n",
       "           oob_score=False, random_state=0, verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Name           891 non-null object\n",
      "Sex            891 non-null object\n",
      "Age            891 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Ticket         891 non-null object\n",
      "Fare           891 non-null float64\n",
      "Cabin          891 non-null object\n",
      "Embarked       889 non-null object\n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.6+ KB\n"
     ]
    }
   ],
   "source": [
    "data_train.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### logistic回归建模要求数据是数值型数据，所以需要首先对类别型数据进行one-hot编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin_No</th>\n",
       "      <th>Cabin_Yes</th>\n",
       "      <th>Embarked_C</th>\n",
       "      <th>Embarked_Q</th>\n",
       "      <th>Embarked_S</th>\n",
       "      <th>Sex_female</th>\n",
       "      <th>Sex_male</th>\n",
       "      <th>Pclass_1</th>\n",
       "      <th>Pclass_2</th>\n",
       "      <th>Pclass_3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>38.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>26.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>35.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>35.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>23.838953</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.4583</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>54.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>51.8625</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>21.0750</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9</td>\n",
       "      <td>1</td>\n",
       "      <td>27.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>11.1333</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>14.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>30.0708</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived        Age  SibSp  Parch     Fare  Cabin_No  \\\n",
       "0            1         0  22.000000      1      0   7.2500         1   \n",
       "1            2         1  38.000000      1      0  71.2833         0   \n",
       "2            3         1  26.000000      0      0   7.9250         1   \n",
       "3            4         1  35.000000      1      0  53.1000         0   \n",
       "4            5         0  35.000000      0      0   8.0500         1   \n",
       "5            6         0  23.838953      0      0   8.4583         1   \n",
       "6            7         0  54.000000      0      0  51.8625         0   \n",
       "7            8         0   2.000000      3      1  21.0750         1   \n",
       "8            9         1  27.000000      0      2  11.1333         1   \n",
       "9           10         1  14.000000      1      0  30.0708         1   \n",
       "\n",
       "   Cabin_Yes  Embarked_C  Embarked_Q  Embarked_S  Sex_female  Sex_male  \\\n",
       "0          0           0           0           1           0         1   \n",
       "1          1           1           0           0           1         0   \n",
       "2          0           0           0           1           1         0   \n",
       "3          1           0           0           1           1         0   \n",
       "4          0           0           0           1           0         1   \n",
       "5          0           0           1           0           0         1   \n",
       "6          1           0           0           1           0         1   \n",
       "7          0           0           0           1           0         1   \n",
       "8          0           0           0           1           1         0   \n",
       "9          0           1           0           0           1         0   \n",
       "\n",
       "   Pclass_1  Pclass_2  Pclass_3  \n",
       "0         0         0         1  \n",
       "1         1         0         0  \n",
       "2         0         0         1  \n",
       "3         1         0         0  \n",
       "4         0         0         1  \n",
       "5         0         0         1  \n",
       "6         1         0         0  \n",
       "7         0         0         1  \n",
       "8         0         0         1  \n",
       "9         0         1         0  "
      ]
     },
     "execution_count": 122,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dummies_Cabin = pd.get_dummies(data['Cabin'], prefix= 'Cabin')\n",
    "\n",
    "dummies_Embarked = pd.get_dummies(data['Embarked'], prefix= 'Embarked')\n",
    "\n",
    "dummies_Sex = pd.get_dummies(data['Sex'], prefix= 'Sex')\n",
    "\n",
    "dummies_Pclass = pd.get_dummies(data['Pclass'], prefix= 'Pclass')\n",
    "\n",
    "df = pd.concat([data, dummies_Cabin, dummies_Embarked, dummies_Sex, dummies_Pclass], axis=1)\n",
    "df.drop(['Pclass', 'Name', 'Sex', 'Ticket', 'Cabin', 'Embarked'], axis=1, inplace=True)\n",
    "df.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:3: FutureWarning: reshape is deprecated and will raise in a subsequent release. Please use .values.reshape(...) instead\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n",
      "D:\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:4: FutureWarning: reshape is deprecated and will raise in a subsequent release. Please use .values.reshape(...) instead\n",
      "  after removing the cwd from sys.path.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin_No</th>\n",
       "      <th>Cabin_Yes</th>\n",
       "      <th>Embarked_C</th>\n",
       "      <th>Embarked_Q</th>\n",
       "      <th>Embarked_S</th>\n",
       "      <th>Sex_female</th>\n",
       "      <th>Sex_male</th>\n",
       "      <th>Pclass_1</th>\n",
       "      <th>Pclass_2</th>\n",
       "      <th>Pclass_3</th>\n",
       "      <th>Age_scaled</th>\n",
       "      <th>Fare_scaled</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>-0.561380</td>\n",
       "      <td>-0.502445</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>38.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.613171</td>\n",
       "      <td>0.786845</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>26.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>-0.267742</td>\n",
       "      <td>-0.488854</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>35.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.392942</td>\n",
       "      <td>0.420730</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>35.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.392942</td>\n",
       "      <td>-0.486337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>23.838953</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.4583</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>-0.426384</td>\n",
       "      <td>-0.478116</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>54.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>51.8625</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.787722</td>\n",
       "      <td>0.395814</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>21.0750</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>-2.029569</td>\n",
       "      <td>-0.224083</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9</td>\n",
       "      <td>1</td>\n",
       "      <td>27.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>11.1333</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>-0.194333</td>\n",
       "      <td>-0.424256</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>14.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>30.0708</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.148655</td>\n",
       "      <td>-0.042956</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived        Age  SibSp  Parch     Fare  Cabin_No  \\\n",
       "0            1         0  22.000000      1      0   7.2500         1   \n",
       "1            2         1  38.000000      1      0  71.2833         0   \n",
       "2            3         1  26.000000      0      0   7.9250         1   \n",
       "3            4         1  35.000000      1      0  53.1000         0   \n",
       "4            5         0  35.000000      0      0   8.0500         1   \n",
       "5            6         0  23.838953      0      0   8.4583         1   \n",
       "6            7         0  54.000000      0      0  51.8625         0   \n",
       "7            8         0   2.000000      3      1  21.0750         1   \n",
       "8            9         1  27.000000      0      2  11.1333         1   \n",
       "9           10         1  14.000000      1      0  30.0708         1   \n",
       "\n",
       "   Cabin_Yes  Embarked_C  Embarked_Q  Embarked_S  Sex_female  Sex_male  \\\n",
       "0          0           0           0           1           0         1   \n",
       "1          1           1           0           0           1         0   \n",
       "2          0           0           0           1           1         0   \n",
       "3          1           0           0           1           1         0   \n",
       "4          0           0           0           1           0         1   \n",
       "5          0           0           1           0           0         1   \n",
       "6          1           0           0           1           0         1   \n",
       "7          0           0           0           1           0         1   \n",
       "8          0           0           0           1           1         0   \n",
       "9          0           1           0           0           1         0   \n",
       "\n",
       "   Pclass_1  Pclass_2  Pclass_3  Age_scaled  Fare_scaled  \n",
       "0         0         0         1   -0.561380    -0.502445  \n",
       "1         1         0         0    0.613171     0.786845  \n",
       "2         0         0         1   -0.267742    -0.488854  \n",
       "3         1         0         0    0.392942     0.420730  \n",
       "4         0         0         1    0.392942    -0.486337  \n",
       "5         0         0         1   -0.426384    -0.478116  \n",
       "6         1         0         0    1.787722     0.395814  \n",
       "7         0         0         1   -2.029569    -0.224083  \n",
       "8         0         0         1   -0.194333    -0.424256  \n",
       "9         0         1         0   -1.148655    -0.042956  "
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "scaler =StandardScaler()\n",
    "df['Age_scaled'] = scaler.fit_transform(df['Age'].reshape(-1,1))\n",
    "df['Fare_scaled'] = scaler.fit_transform(df['Fare'].reshape(-1,1))\n",
    "# df.drop(['Age','Fare'], axis=1, inplace=True)\n",
    "dfff=df\n",
    "dfff.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "dfff.drop(['Age','Fare'],axis=1,inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 开始logistic建模"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
       "          penalty='l1', random_state=None, solver='liblinear', tol=1e-06,\n",
       "          verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 127,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn import linear_model\n",
    "\n",
    "# 用正则取出我们要的属性值\n",
    "train_df = dfff.filter(regex='Survived|Age_.*|SibSp|Parch|Fare_.*|Cabin_.*|Embarked_.*|Sex_.*|Pclass_.*')\n",
    "train_np = train_df.as_matrix()\n",
    "y = train_np[:, 0]\n",
    "X = train_np[:, 1:]\n",
    "clf = linear_model.LogisticRegression(C=1.0, penalty='l1', tol=1e-6)\n",
    "clf.fit(X, y) \n",
    "clf\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:21: FutureWarning: reshape is deprecated and will raise in a subsequent release. Please use .values.reshape(...) instead\n",
      "D:\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:22: FutureWarning: reshape is deprecated and will raise in a subsequent release. Please use .values.reshape(...) instead\n"
     ]
    }
   ],
   "source": [
    "data_test = pd.read_csv(\"E:\\\\Titanic\\\\titanic\\\\test.csv\")\n",
    "data_test.loc[ (data_test.Fare.isnull()), 'Fare' ] = 0\n",
    "# 接着我们对test_data做和train_data中一致的特征变换\n",
    "# 首先用同样的RandomForestRegressor模型填上丢失的年龄\n",
    "tmp_df = data_test[['Age','Fare', 'Parch', 'SibSp', 'Pclass']]\n",
    "null_age = tmp_df[data_test.Age.isnull()].as_matrix()\n",
    "# 根据特征属性X预测年龄并补上\n",
    "X = null_age[:, 1:]\n",
    "predictedAges = rfr.predict(X)\n",
    "data_test.loc[ (data_test.Age.isnull()), 'Age' ] = predictedAges\n",
    "\n",
    "data_test = set_Cabin_type(data_test)\n",
    "dummies_Cabin = pd.get_dummies(data_test['Cabin'], prefix= 'Cabin')\n",
    "dummies_Embarked = pd.get_dummies(data_test['Embarked'], prefix= 'Embarked')\n",
    "dummies_Sex = pd.get_dummies(data_test['Sex'], prefix= 'Sex')\n",
    "dummies_Pclass = pd.get_dummies(data_test['Pclass'], prefix= 'Pclass')\n",
    "\n",
    "\n",
    "df_test = pd.concat([data_test, dummies_Cabin, dummies_Embarked, dummies_Sex, dummies_Pclass], axis=1)\n",
    "df_test.drop(['Pclass', 'Name', 'Sex', 'Ticket', 'Cabin', 'Embarked'], axis=1, inplace=True)\n",
    "df_test['Age_scaled'] = scaler.fit_transform(df_test['Age'].reshape(-1,1))\n",
    "df_test['Fare_scaled'] = scaler.fit_transform(df_test['Fare'].reshape(-1,1))\n",
    "df_test.drop(['Age','Fare'],axis=1, inplace=True)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 模型结果预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [],
   "source": [
    "test = df_test.filter(regex='Age_.*|SibSp|Parch|Fare_.*|Cabin_.*|Embarked_.*|Sex_.*|Pclass_.*')\n",
    "predictions = clf.predict(test)\n",
    "result = pd.DataFrame({'PassengerId':data_test['PassengerId'].as_matrix(), 'Survived':predictions.astype(np.int32)})\n",
    "result.to_csv(\"E:\\\\Titanic\\\\titanic\\\\logistic_regression_predictions.csv\", index=False)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## iloc和loc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-10-01</th>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>45</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-10-10</th>\n",
       "      <td>23</td>\n",
       "      <td>4</td>\n",
       "      <td>78</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-01-12</th>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>21</td>\n",
       "      <td>45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-10-12</th>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>52</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-10-24</th>\n",
       "      <td>6</td>\n",
       "      <td>85</td>\n",
       "      <td>41</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-07-15</th>\n",
       "      <td>7</td>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             A   B   C   D\n",
       "2010-10-01   1   5  45  12\n",
       "2014-10-10  23   4  78   4\n",
       "2011-01-12   4   2  21  45\n",
       "2013-10-12   5   6  52   6\n",
       "2010-10-24   6  85  41  33\n",
       "2019-07-15   7  10   1  12"
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1=pd.DataFrame({'A':[1,23,4,5,6,7],'B':[5,4,2,6,85,10],'C':[45,78,21,52,41,1],'D':[12,4,45,6,33,12]},\n",
    "                  index=['2010-10-01','2014-10-10','2011-01-12','2013-10-12','2010-10-24','2019-07-15'])\n",
    "data1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "A    23\n",
       "B     4\n",
       "C    78\n",
       "D     4\n",
       "Name: 2014-10-10, dtype: int64"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1.loc['2014-10-10']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-10-01</th>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>45</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-10-10</th>\n",
       "      <td>23</td>\n",
       "      <td>4</td>\n",
       "      <td>78</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             A  B   C   D\n",
       "2010-10-01   1  5  45  12\n",
       "2014-10-10  23  4  78   4"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1.loc['2010-10-01':'2014-10-10']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2010-10-01     5\n",
       "2014-10-10     4\n",
       "2011-01-12     2\n",
       "2013-10-12     6\n",
       "2010-10-24    85\n",
       "2019-07-15    10\n",
       "Name: B, dtype: int64"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1.loc[:,'B']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-10-01</th>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-10-10</th>\n",
       "      <td>23</td>\n",
       "      <td>4</td>\n",
       "      <td>78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-01-12</th>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-10-12</th>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-10-24</th>\n",
       "      <td>6</td>\n",
       "      <td>85</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-07-15</th>\n",
       "      <td>7</td>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             A   B   C\n",
       "2010-10-01   1   5  45\n",
       "2014-10-10  23   4  78\n",
       "2011-01-12   4   2  21\n",
       "2013-10-12   5   6  52\n",
       "2010-10-24   6  85  41\n",
       "2019-07-15   7  10   1"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1.loc[:,'A':'C']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### DataFrame.fliter()函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>one</th>\n",
       "      <th>two</th>\n",
       "      <th>three</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>mouse</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rabbit</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        one  two  three\n",
       "mouse     1    2      3\n",
       "rabbit    4    5      6"
      ]
     },
     "execution_count": 133,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df=pd.DataFrame(np.array(([1,2,3],[4,5,6])),index=['mouse','rabbit'],columns=['one','two','three'])\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>one</th>\n",
       "      <th>three</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>mouse</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rabbit</th>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        one  three\n",
       "mouse     1      3\n",
       "rabbit    4      6"
      ]
     },
     "execution_count": 135,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.filter(regex='e$',axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>one</th>\n",
       "      <th>two</th>\n",
       "      <th>three</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>mouse</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rabbit</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        one  two  three\n",
       "mouse     1    2      3\n",
       "rabbit    4    5      6"
      ]
     },
     "execution_count": 137,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.filter(regex='e*',axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>one</th>\n",
       "      <th>three</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>mouse</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rabbit</th>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        one  three\n",
       "mouse     1      3\n",
       "rabbit    4      6"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.filter(items=['one', 'three'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>one</th>\n",
       "      <th>two</th>\n",
       "      <th>three</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>rabbit</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        one  two  three\n",
       "rabbit    4    5      6"
      ]
     },
     "execution_count": 139,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.filter(like='bbi', axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "312.813px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
